package com.campus.payment.dto;

import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 分账响应DTO
 *
 * @author ZhaoYuJie
 * @since 2025-01-15
 */
@Data
public class ProfitSharingResponseDTO {

    /**
     * 微信分账单号
     */
    private String orderId;

    /**
     * 商户分账单号
     */
    private String outOrderNo;
    /**
     *  微信支付订单号
     */
    private String transactionId;

    /**
     * 分账单状态：PROCESSING-处理中，FINISHED-分账完成
     */
    private String state;

    /**
     * 分账接收方列表
     */
    private List<ReceiverDetailDTO> receivers;

    /**
     * 分账接收方明细DTO
     */
    @Data
    public static class ReceiverDetailDTO {
        /**
         * 分账金额，单位为分
         */
        private Integer amount;

        /**
         * 分账描述
         */
        private String description;

        /**
         * 接收方类型：MERCHANT_ID-商户号，PERSONAL_OPENID-个人OpenID
         */
        private String type;

        /**
         * 接收方账号
         */
        private String account;

        /**
         * 分账结果：PENDING-待分账；SUCCESS-分账成功；CLOSED-已关闭
         */
        private String result;

        /**
         * 分账失败原因
         */
        private String failReason;

        /**
         * 微信分账明细单号
         */
        private String detailId;

        /**
         * 分账完成时间
         */
        private LocalDateTime finishTime;
    }
}